<?php
/**
 * This file is part of the UXLabs project.
 *
 * (c) UXLabs project <http://code.uxlabs.me>
 *
 */

namespace uxl\app\api\models;

use yii\db\ActiveRecord;
use yii\db\Query;

/**
 * app api接口app授权，此授权信息直接记录在app安装包中，访问授权需要使用此token去获取
 *
 * @property int $id 自增标识
 * @property string $appName app名称
 * @property string $accessKey 访问密钥
 * @property string $secretKey 加密的密钥
 * @property string $remake 备注
 * @property int $status 状态，1-正常
 * @property string $createAt 添加时间
 *
 * @package uxl\app\api\models
 * @author ice deng <ice.deng@qq.com>
 */
class AppToken extends ActiveRecord
{
    /** @inheritdoc */
    public static function tableName()
    {
        return '{{%app_api_token}}';
    }

    /**
     * 通过访问密钥获取授权记录
     * @param $accessKey
     * @return array|bool
     */
    public function getByAccessKey($accessKey)
    {
        $q = new Query();
        return $q->from(static::tableName())
            ->select('id, accessKey, secretKey, status')
            ->where([
                'accessKey' => $accessKey,
            ])
            ->one();
    }
}

/**
 * CREATE TABLE IF NOT EXISTS `uxlabs_tpl_base`.`app_api_token` (
 * `id` INT NOT NULL AUTO_INCREMENT,
 * `appName` VARCHAR(255) NULL COMMENT 'app名称',
 * `accessKey` CHAR(32) NOT NULL COMMENT '访问密钥',
 * `secretKey` CHAR(32) NOT NULL COMMENT '加密的密钥',
 * `remake` VARCHAR(500) NULL COMMENT '备注',
 * `status` SMALLINT NOT NULL DEFAULT 1 COMMENT '状态，1-正常',
 * `createAt` TIMESTAMP NOT NULL DEFAULT NOW(),
 * PRIMARY KEY (`id`),
 * UNIQUE INDEX `ix_app_api_token_key` (`accessKey` ASC))
 * ENGINE = InnoDB
 * COMMENT = 'app api接口app授权，此授权信息直接记录在app安装包中，访问授权需要使用此token去获取
 */